include_rules = [
    # Don't depend on platform/.
    "-third_party/blink/renderer/platform",

    # Module.
    "+third_party/blink/renderer/platform/loader",

    # Dependencies.
    "+base/metrics/field_trial_params.h",  # for fetch/ResourceLoadScheduler.cpp
    "+base/strings/string_number_conversions.h",  # for fetch/ResourceLoadScheduler.cpp
    "+components/link_header_util",  # for LinkHeader.cpp
    "+net/base/load_flags.h",
    "+net/base/net_errors.h",
    "+net/traffic_annotation/network_traffic_annotation_test_helper.h",
    "+net/url_request/redirect_info.h",
    "+services/metrics/public", # for UKM API
    "+services/network/public",  # for Fetch API and CORS
    "+third_party/blink/renderer/platform/back_forward_cache_buffer_limit_tracker.h",
    "+third_party/blink/renderer/platform/back_forward_cache_utils.h",
    "+third_party/blink/renderer/platform/bindings/dom_wrapper_world.h",
    "+third_party/blink/renderer/platform/bindings/parkable_string.h",
    "+third_party/blink/renderer/platform/bindings/script_forbidden_scope.h",
    "+third_party/blink/renderer/platform/bindings/trace_wrapper_member.h",
    "+third_party/blink/renderer/platform/blob/blob_data.h",
    "+third_party/blink/renderer/platform/wtf/cross_thread_copier.h",
    "+third_party/blink/renderer/platform/wtf/cross_thread_functional.h",
    "+third_party/blink/renderer/platform/crypto.h",
    "+third_party/blink/renderer/platform/exported",
    "+third_party/blink/renderer/platform/heap",
    "+third_party/blink/renderer/platform/instrumentation",
    "+third_party/blink/renderer/platform/language.h",
    "+third_party/blink/renderer/platform/loader/fetch/cross_origin_attribute_value.h",
    "+third_party/blink/renderer/platform/instrumentation/memory_pressure_listener.h",
    "+third_party/blink/renderer/platform/mhtml",
    "+third_party/blink/renderer/platform/mojo/mojo_binding_context.h",
    "+third_party/blink/renderer/platform/network",
    "+third_party/blink/renderer/platform/platform_export.h",
    "+third_party/blink/renderer/platform/platform_probe_sink.h",
    "+third_party/blink/renderer/platform/probe",
    "+third_party/blink/renderer/platform/runtime_enabled_features.h",
    "+third_party/blink/renderer/platform/scheduler",
    "+third_party/blink/renderer/platform/wtf/shared_buffer.h",
    "+third_party/blink/renderer/platform/testing",
    "+third_party/blink/renderer/platform/timer.h",
    "+third_party/blink/renderer/platform/weborigin",
    "+third_party/blink/renderer/platform/web_task_runner.h",
    "+third_party/blink/renderer/platform/wtf",
]

specific_include_rules = {
  "resource_error\.cc": [
    "+net/base/net_errors.h"
  ],
  "ftp_directory_listing.cc": [
    "+base/i18n/encoding_detection.h",
    "+base/i18n/icu_string_conversions.h",
    "+base/strings/string_util.h",
    "+base/strings/sys_string_conversions.h",
    "+base/strings/utf_string_conversions.h",
    "+net/base/directory_listing.h",
    "+net/base/escape.h",
    "+net/base/net_errors.h",
    "+net/ftp/ftp_directory_listing_parser.h",
    "+net/net_buildflags.h",
  ],
  "ftp_directory_listing_test.cc": [
    "+net/net_buildflags.h",
    "+third_party/icu/source/i18n/unicode/timezone.h"
  ],
  "replaying_web_data_consumer_handle.h": [
      "+third_party/blink/renderer/platform/waitable_event.h",
  ],
  "request_conversion.cc": [
     # This file consists of conversion functions and hence needs to access
     # both the blink and chromium mojom variants.
     "+net/base/request_priority.h",
     "+net/http/http_request_headers.h",
     "+net/http/http_util.h",
     "+third_party/blink/public/mojom/blob/blob.mojom.h",
     "+services/network/public/mojom/data_pipe_getter.mojom.h",
  ]
}
